home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / printing / pfovbe / pfodll.bas < prev    next >
BASIC Source File  |  1995-04-25  |  5KB  |  106 lines

  1. Option Explicit
  2.  
  3.  
  4. '------------------------------------------------------------------------
  5. 'Constants
  6.  
  7. 'PFOITEM.uiType
  8. Global Const PFO_STRING = 0 'Don't use this type from VisualBasic!
  9. Global Const PFO_BITMAP = 1
  10. Global Const PFO_ICON = 2
  11. Global Const PFO_FIXSTR = 3
  12. Global Const PFO_BSTR = 4
  13.  
  14. 'PFOITEM.uiAlignment
  15. Global Const PFO_LEFT = 0
  16. Global Const PFO_TOP = 0
  17. Global Const PFO_CENTER = 1
  18. Global Const PFO_RIGHT = 2
  19. Global Const PFO_VCENTER = 4
  20. Global Const PFO_BOTTOM = 8
  21. Global Const PFO_SINGLELINE = 32
  22.  
  23.  
  24. '------------------------------------------------------------------------
  25. 'Data Types
  26.  
  27. Type PFOITEM
  28.     uiVersion           As Integer      '&H0100&
  29.     uiYOffs             As Integer      'vertical offset to top or bottom of previous item
  30.     uiXOffs             As Integer      'absolute horizontal position
  31.     uiWidth             As Integer      'width of this item, including borders
  32.     uiHeight            As Integer      'height of this item, including borders
  33.     uiType              As Integer      'PFO_STRING,...PFO_BSTR
  34.     uiHandle            As Integer      'bitmap or icon handle
  35.     lpcstr              As String       'String reference, fast, uiType must be PFO_BSTR!
  36.     acFixStr            As String * 512 'char buffer with string, NULL terminated, slow
  37.     uiFontIdx           As Integer      'index into font handle array
  38.     uiAlignment         As Integer      '0=Left,Top 1=Center 2=Right 4=VCenter 8=Bottom 32=SingleLine
  39.     bKeepYPos           As Integer      'keep next object in same row as current one
  40.     bBorderLeft         As Integer      'draw a left border
  41.     bBorderRight        As Integer      'draw a right border
  42.     bBorderTop          As Integer      'draw a top border
  43.     bBorderBottom       As Integer      'draw a bottom border
  44.     bNewPage            As Integer      'force a new page before this item
  45. End Type
  46.  
  47. Type PFORECT
  48.     Left                As Integer
  49.     Top                 As Integer
  50.     Right               As Integer
  51.     Bottom              As Integer
  52. End Type
  53.  
  54. Type PFO
  55.     uiVersion           As Integer      '&H0100&
  56.     uiType              As Integer      'current report type
  57.     rcPage              As PFORECT      'size of the printed page, input to PfoInit
  58.     uiHeaderDY          As Integer      'height of header area, input to PfoInit
  59.     uiFooterDY          As Integer      'height of footer area, input to PfoInit
  60.     FontArray           As Long         'font handle array, input to PfoInit
  61.     ItemArrayHeader     As Long         'array of print items for header, input to PfoInit
  62.     ItemArrayFooter     As Long         'array of print items for footer, input to PfoInit
  63.     ItemArrayBody       As Long         'array of print items for body, input to PfoInit
  64.     PrntFrm             As Long         'PrintForm object, result of PfoInit
  65.     uiPageToPrint       As Integer      'input to PfoCanContinue and PfoPrint
  66.     bContinuePrinting   As Integer      'output of PfoCanContinue
  67.     uiMaxPage           As Integer      'output of PfoCanContinue and PfoPaginate
  68.     DC                  As Long         'device context, created in PfoPreparDC
  69.     rcPhysPage          As PFORECT      'physical page, input to PfoPreparDC, PfoCanContinue and PfoPrint
  70. End Type
  71.  
  72.  
  73.  
  74. '------------------------------------------------------------------------
  75. 'Font Array
  76.  
  77. Declare Function PfoFontArrayCreate Lib "pfoc.dll" (pPfoFontArray As Long) As Integer
  78. Declare Function PfoFontArrayDestroy Lib "pfoc.dll" (pPfoFontArray As Long, ByVal bCleanUp As Integer) As Integer
  79.  
  80. Declare Function PfoFontArrayAdd Lib "pfoc.dll" (ByVal PfoFontArray As Long, ByVal hFont As Integer) As Integer
  81. Declare Function PfoFontArrayGetCount Lib "pfoc.dll" (ByVal PfoFontArray As Long, uiCount As Integer) As Integer
  82. Declare Function PfoFontArrayGetAt Lib "pfoc.dll" (ByVal PfoFontArray As Long, ByVal uiPos As Integer, phFont As Integer) As Integer
  83.  
  84.  
  85. '------------------------------------------------------------------------
  86. 'Item Array
  87.  
  88. Declare Function PfoItemArrayCreate Lib "pfoc.dll" (pPfoItemArray As Long) As Integer
  89. Declare Function PfoItemArrayDestroy Lib "pfoc.dll" (pPfoItemArray As Long) As Integer
  90.  
  91. Declare Function PfoItemArrayAdd Lib "pfoc.dll" (ByVal PfoItemArray As Long, pPfoItem As PFOITEM) As Integer
  92. Declare Function PfoItemArrayGetCount Lib "pfoc.dll" (ByVal PfoItemArray As Long, uiCount As Integer) As Integer
  93. Declare Function PfoItemArrayGetAt Lib "pfoc.dll" (ByVal PfoItemArray As Long, ByVal uiPos As Integer, pPfoItem As PFOITEM) As Integer
  94.  
  95.  
  96. '------------------------------------------------------------------------
  97. 'Printing
  98.  
  99. Declare Function PfoInit Lib "pfoc.dll" (pPfo As PFO) As Integer
  100. Declare Function PfoExit Lib "pfoc.dll" (pPfo As PFO) As Integer
  101. Declare Function PfoCanContinue Lib "pfoc.dll" (pPfo As PFO) As Integer
  102. Declare Function PfoPrepareDC Lib "pfoc.dll" (pPfo As PFO, ByVal hDC As Integer) As Integer
  103. Declare Function PfoPaginate Lib "pfoc.dll" (pPfo As PFO) As Integer
  104. Declare Function PfoPrint Lib "pfoc.dll" (pPfo As PFO) As Integer
  105.  
  106.